Storage routers allow devices, such as PCs and servers and other computer systems, to utilize the massive storage capability of a storage area network. Communications with a storage router by such devices may be provided over an IP network and may implement a predetermined physical layer protocol, such as an IP/Ethernet protocol. The storage router acts as server and may access storage devices of the storage area network using another predetermined physical layer protocol. In the case of a fibre-channel network, the storage router may communicate with the storage network using a fibre-channel protocol. Some storage area networks may also implement a storage specific protocol, such as the Small Computer Systems Interface (SCSI) protocol. The SCSI protocol, among others, may be used for storage related communications between client devices and SCSI storage devices either directly or through the storage router. In these SCSI systems, SCSI requests, commands and responses may be encapsulated in IP/Ethernet packets for communications between the client devices and the storage router. SCSI requests, commands and responses and may also be encapsulated in a storage network specific protocol packets, such as fibre-channel frames, for communications between the storage router and SCSI storage devices.
Conventional client devices, including SCSI clients, use drivers to communicate with a storage router over an IP network. The drivers may include both driver hardware and driver software components. The vendor that provides the driver software may also provide storage devices or routers, however other vendors may also provide storage devices or routers.
Because a vendor may provide its driver software without charge or for a nominal charge for use with the vendor's storage devices or routers, it may desirable to restrict the driver software, or at least certain functions of the driver software, to use with that vendor's storage devices or routers. It may also be desirable for a vendor to charge a fee for use of its driver software, or enhanced functionality thereof, when used with other vendor's storage devices or routers. Purchase agreements and software licensing agreements for driver software may permissibly include such limitations and restrictions, however such agreements are difficult if not impossible to enforce.
Thus there is a general need for a system and method that authenticates a storage router for use with particular driver software. What is also needed is a system and method in which driver software, or at least features thereof, may be permitted to be used with particular storage devices or routers and may be prohibited from being used with other storage devices or routers.